#ifndef _NNSLITE_H_
#define _NNSLITE_H_

#include "nnsliteglobal.h"
#include "nnslitemtree.h"


/** nnsliteStore  */
struct nnsliteStore
{
	char name[NNSLITE_MAX_NAMELEN];
	nnsliteMTree mtree;
	nnsliteDistFunc distfunc;
};

typedef struct nnsliteStore nnsliteStore;

NNSLITE_RET nnsliteStoreCreate(nnsliteStore* store, const char* name, nnsliteDistFunc func);
NNSLITE_RET nnsliteStoreFree(nnsliteStore* store);
NNSLITE_RET nnsliteStoreOpen(nnsliteStore* store, const char* filename);
NNSLITE_RET nnsliteStoreSave(nnsliteStore* store, const char* filename);
NNSLITE_RET nnsliteStoreNNSearch(nnsliteStore* store, const nnsliteObject* object, u32 top, nnsliteObject* results);
NNSLITE_RET nnsliteStorePrint(nnsliteStore* store, FILE* fp);
NNSLITE_RET nnsliteStoreInsert(nnsliteStore* store, nnsliteObject* object);

























#endif
